(function($) {

    $.fn.rTabs = function(options) {

        //默认值
        var defaultVal = {
            btnClass: '.j-tab-nav',
            /*按钮的父级Class*/
            conClass: '.j-tab-con',
            /*内容的父级Class*/
            bind: 'hover',
            /*事件参数 click,hover*/
            animation: '0',
            /*动画方向 left,up,fadein,0 为无动画*/
            speed: 300,
            /*动画运动速度*/
            delay: 200,
            /*Tab延迟速度*/
            auto: true,
            /*是否开启自动运行 true,false*/
            autoSpeed: 3000 /*自动运行速度*/
        };

        //全局变量
        var obj = $.extend(defaultVal, options),
            evt = obj.bind,
            btn = $(this).find(obj.btnClass),
            con = $(this).find(obj.conClass),
            anim = obj.animation,
            conWidth = con.width(),
            conHeight = con.height(),
            len = con.children().length,
            sw = len * conWidth,
            sh = len * conHeight,
            i = 0,
            len, t, timer;

        return this.each(function() {

            //判断动画方向
            function judgeAnim() {
                var w = i * conWidth,
                    h = i * conHeight;
                btn.children().removeClass('current').eq(i).addClass('current');
                switch (anim) {
                    case '0':
                        con.children().hide().eq(i).show();
                        break;
                    case 'left':
                        con.css({ position: 'absolute', width: sw }).children().css({ float: 'left', display: 'block' }).end().stop().animate({ left: -w }, obj.speed);
                        break;
                    case 'up':
                        con.css({ position: 'absolute', height: sh }).children().css({ display: 'block' }).end().stop().animate({ top: -h }, obj.speed);
                        break;
                    case 'fadein':
                        con.children().hide().eq(i).fadeIn();
                        break;
                }
            }

            //判断事件类型
            if (evt == "hover") {
                btn.children().hover(function() {
                    var j = $(this).index();

                    function s() {
                        i = j;
                        judgeAnim();
                    }
                    timer = setTimeout(s, obj.delay);
                }, function() {
                    clearTimeout(timer);
                })
            } else {
                btn.children().bind(evt, function() {
                    i = $(this).index();
                    judgeAnim();
                })
            }

            // //自动运行
            // function startRun(){
            // 	t = setInterval(function(){
            // 		i++;
            // 		if(i>=len){
            // 			switch(anim){
            // 				case 'left':
            // 				con.stop().css({left:conWidth});
            // 				break;
            // 				case 'up':
            // 				con.stop().css({top:conHeight});
            // 			}	
            // 			i=0;
            // 		}
            // 		judgeAnim();
            // 	},obj.autoSpeed)
            // }

            // //如果自动运行开启，调用自动运行函数
            // if(obj.auto){
            // 	$(this).hover(function(){
            // 		clearInterval(t);
            // 	},function(){
            // 		startRun();
            // 	})
            // 	startRun();
            // }

        })

    }

})(jQuery);